<?php
/**
 * Created by PhpStorm.
 * User: wumengmeng <wu_mengmeng@foxmail.com>
 * Date: 2019/4/26 0026
 * Time: 11:18
 */

namespace Modules\Admin\Service;

use HiCommon\Repository\LogRepository;

class LogService
{

    /**
     * 记录登录日志
     *
     * @param array $arr_input
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function record_login_in(array $arr_input)
    {
        $arr_input = hi_array_del_null($arr_input);
        try {
            //添加
            $res = LogRepository::record_login_in($arr_input)->toarray();
            if(empty($res)){
                return hello_error('添加失败');
            }

            return  hello_success('成功',$res);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }

//    /**
//     * 记录操作日志
//     *
//     * @param array $arr_input
//     *
//     * @return mixed
//     * @author wumengmeng <wu_mengmeng@foxmail.com>
//     */
//    public function record_action(array $arr_input)
//    {
//        $arr_input = hi_array_del_null($arr_input);
//        try {
//            //添加
//            $res = LogRepository::record_action($arr_input)->toarray();
//            if(empty($res)){
//                return hello_error('添加失败');
//            }
//
//            return  hello_success('成功',$res);
//        } catch (\Exception $exception) {
//            return hello_error('失败',[],$exception->getMessage());
//        }
//    }




    /**
     * 获取登录日志
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_admin_login_log()
    {
        try {

            $data = LogRepository::get_admin_login_log();
            $data = list_page_data($data);
            return  hello_success('成功',$data);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }

    /**
     * 获取操作日志 分页
     *
     * @param array $arrLog
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_admin_action_log_list()
    {
        try {

            $data = LogRepository::get_admin_action_log_list();
            $data = list_page_data($data);
            return  hello_success('成功',$data);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }


    /**
     * 记录验证码发送日志
     *
     * @param array $arr_input
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function record_phone_code(array $arr_input)
    {
        $arr_input = hi_array_del_null($arr_input);
        try {
            //添加
            $res = LogRepository::record_phone_code($arr_input)->toarray();
            if(empty($res)){
                return hello_error('添加失败');
            }

            return  hello_success('成功',$res);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }




    /**
     * 获取验证码日志 分页
     *
     * @param array $arrLog
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_phone_code_log( array $arr_input = [] )
    {
        try {
            if( !empty( $arr_input['phone']) && !preg_match("/^1[3456789]\d{9}$/", $arr_input['phone'] ) ){
                return hello_error('手机号码格式不正确',[]);
            }
            $data = LogRepository::get_phone_code_log( (string) $arr_input['phone'] );
            $data->appends($arr_input);//添加链接参数
            $data = list_page_data($data , $arr_input);
            return  hello_success('成功',$data);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }


    /**
     * 获取极光推送 分页
     *
     * @param array $arrLog
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_jpush_list( array $arr_input = [] )
    {
        try {

            $data = LogRepository::get_record_jpush();
            $data->appends($arr_input);//添加链接参数
            $data = list_page_data($data , $arr_input);
            return  hello_success('成功',$data);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }

    /**
     * 获取系统消息  分页
     *
     * @param array $arrLog
     *
     * @return mixed
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function get_message_list( array $arr_input = [] )
    {
        try {


//            $arr_list = \HiCommon\Repository\MessageRepository::get_all( (array)['status'=>1] , (array) ['*']);
//            foreach ( $arr_list as $key=>$vo){
//                add_message( $vo );
//            }
//            dd( $arr_list );
//            LogRepository::del_message();

//            $arr_ss['is_read'] = 1;
//            $where = [
//                '_id'=>'5eba4a08c347a729fc0005b2'
//            ];
//            LogRepository::update_message( $where , $arr_ss );

            $data = LogRepository::get_message_list( (array) $arr_input );
            $data->appends($arr_input);//添加链接参数
            $data = list_page_data($data , $arr_input);
            $arr_pids = [ 1=>'系统消息' , 2=>'活动消息' , 3=>'订单消息'];
            foreach ( $data['data'] as $key=>&$vo){
                $vo['is_read'] = $vo['is_read'] ==1 ? '已阅读' : '未读';
                $vo['pid_msg'] = $arr_pids[$vo['pid']];
            }
            return  hello_success('成功',$data);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }

}